export function replaceKeyNameWithLabelInArray(jsonArray) {
  const modifiedArray = []

  for (let i = 0; i < jsonArray.length; i++) {
    const data = jsonArray[i]

    traverse(data)
    modifiedArray.push(data)
  }
  return modifiedArray
}

function traverse(obj) {
  for (const key in obj) {
    if (typeof obj[key] === 'object') {
      // If the property value is an object, recursively traverse it
      traverse(obj[key])
    } else {
      if (key === 'name') {
        // Replace the "name" key with "label"
        obj['label'] = obj[key]
        delete obj[key]
      }
    }
  }
}

/**
 * @param {string} url
 * @returns {Object}
 */
export function param2Obj(url) {
  const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
  if (!search) {
    return {}
  }
  const obj = {}
  const searchArr = search.split('&')
  searchArr.forEach(v => {
    const index = v.indexOf('=')
    if (index !== -1) {
      const name = v.substring(0, index)
      const val = v.substring(index + 1, v.length)
      obj[name] = val
    }
  })
  return obj
}
